package 软件开发原则.里氏替换原则.before;

public class RectangleDemo {
    public static void main(String[] args) {
        //创建长方形对象
        Rectangle r=new Rectangle();
        //设置长和宽
        r.setLength(20);
        r.setWidth(10);
        //调用resize方法进行扩宽
        resize(r);
        printLengthWidth(r);

        System.out.println("__________________________");
        //正方形会一直运行resize无法停止，因为正方形的长和宽始终相等，直至系统报错（见Square类长和宽的定义）
        //创建正方形对象
        Square s=new Square();
        //设置正方形长和宽
        s.setLength(10);
        //调用resize方法进行扩展
        resize(s);
        printLengthWidth(s);

    }
    //扩宽方法
    public static void resize(Rectangle rectangle) {
        //判断如果宽比长小，进行扩展的操作
        while(rectangle.getWidth()<= rectangle.getLength()){
            rectangle.setWidth(rectangle.getWidth()+1);
        }
    }
    //打印长和宽
    public static  void  printLengthWidth(Rectangle rectangle){
        System.out.println(rectangle.getLength());
        System.out.println(rectangle.getWidth());
    }
}
